package com.insnow.knowshare.service;

import com.insnow.knowshare.entity.Post;
import com.insnow.knowshare.entity.PostDTO;
import com.insnow.knowshare.entity.UserActivityDTO;
import org.springframework.data.domain.Page;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public interface AdminPostService {
    List<PostDTO> getAllPosts();
    void setPostTop(Long id, boolean top);
    void deletePost(Long id);
    void restorePost(Long id);
    
    List<PostDTO> getPostsByStatus(int status);
    void updatePostStatus(Long id, int status);

    Page<PostDTO> getPostsByStatusPaged(int status, int page, int size);

    List<UserActivityDTO> getUserActivity(LocalDateTime start, LocalDateTime end);

    Map<String, Object> getUserActivityPaged(LocalDateTime start, LocalDateTime end, int page, int size);
}
